﻿using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata;

namespace AD.Pms.DataBase.Models.ZC_Log
{
    public partial class ZC_LogContext : DbContext
    {
        public ZC_LogContext()
        {
        }

        public ZC_LogContext(DbContextOptions<ZC_LogContext> options)
            : base(options)
        {
        }

        public virtual DbSet<TblSearchContent> TblSearchContent { get; set; }
        public virtual DbSet<TblSearchHistory> TblSearchHistory { get; set; }
        public virtual DbSet<TblSmsLog> TblSmsLog { get; set; }
        public virtual DbSet<TblUserLoginLog> TblUserLoginLog { get; set; }
        public virtual DbSet<TblUserOperateLog> TblUserOperateLog { get; set; }

//        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
//        {
//            if (!optionsBuilder.IsConfigured)
//            {
//#warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings.
//                optionsBuilder.UseSqlServer("Server=47.101.182.15,9010;Database=ZC_Log;Trusted_Connection=False;User ID=sa;Password=Mic123@321");
//            }
//        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<TblSearchContent>(entity =>
            {
                entity.HasKey(e => e.Pkid);

                entity.ToTable("tbl_SearchContent");

                entity.Property(e => e.Pkid).HasColumnName("PKID");

                entity.Property(e => e.CreateBy)
                    .HasMaxLength(50)
                    .IsUnicode(false);

                entity.Property(e => e.CreateTime)
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("(getdate())");

                entity.Property(e => e.IsDelete).HasDefaultValueSql("((0))");

                entity.Property(e => e.ParentContentId).HasColumnName("ParentContentID");

                entity.Property(e => e.SearchHistoryId).HasColumnName("SearchHistoryID");

                entity.Property(e => e.UpdateBy)
                    .HasMaxLength(50)
                    .IsUnicode(false);

                entity.Property(e => e.UpdateTime)
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("(getdate())");

                entity.Property(e => e.UserId).HasColumnName("UserID");
            });

            modelBuilder.Entity<TblSearchHistory>(entity =>
            {
                entity.HasKey(e => e.Pkid);

                entity.ToTable("tbl_SearchHistory");

                entity.Property(e => e.Pkid).HasColumnName("PKID");

                entity.Property(e => e.Browser).HasMaxLength(200);

                entity.Property(e => e.ClientIp)
                    .HasColumnName("ClientIP")
                    .HasMaxLength(50)
                    .IsUnicode(false);

                entity.Property(e => e.CreateBy)
                    .HasMaxLength(50)
                    .IsUnicode(false);

                entity.Property(e => e.CreateTime)
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("(getdate())");

                entity.Property(e => e.IsDelete).HasDefaultValueSql("((0))");

                entity.Property(e => e.UpdateBy)
                    .HasMaxLength(50)
                    .IsUnicode(false);

                entity.Property(e => e.UpdateTime)
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("(getdate())");

                entity.Property(e => e.UserId).HasColumnName("UserID");
            });

            modelBuilder.Entity<TblSmsLog>(entity =>
            {
                entity.HasKey(e => e.Pkid);

                entity.ToTable("tbl_SmsLog");

                entity.Property(e => e.Pkid).HasColumnName("PKID");

                entity.Property(e => e.CreateBy)
                    .HasMaxLength(50)
                    .IsUnicode(false);

                entity.Property(e => e.CreateTime)
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("(getdate())");

                entity.Property(e => e.Ip)
                    .HasColumnName("IP")
                    .HasMaxLength(50)
                    .IsUnicode(false);

                entity.Property(e => e.IsDelete).HasDefaultValueSql("((0))");

                entity.Property(e => e.Message).HasMaxLength(500);

                entity.Property(e => e.MsgId)
                    .HasColumnName("MsgID")
                    .HasMaxLength(50)
                    .IsUnicode(false);

                entity.Property(e => e.Phone)
                    .HasMaxLength(11)
                    .IsUnicode(false);

                entity.Property(e => e.Type)
                    .HasMaxLength(20)
                    .IsUnicode(false);

                entity.Property(e => e.UpdateBy)
                    .HasMaxLength(50)
                    .IsUnicode(false);

                entity.Property(e => e.UpdateTime)
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("(getdate())");
            });

            modelBuilder.Entity<TblUserLoginLog>(entity =>
            {
                entity.HasKey(e => e.Pkid);

                entity.ToTable("tbl_UserLoginLog");

                entity.Property(e => e.Pkid).HasColumnName("PKID");

                entity.Property(e => e.Browser).HasMaxLength(500);

                entity.Property(e => e.CreateBy)
                    .HasMaxLength(50)
                    .IsUnicode(false);

                entity.Property(e => e.CreateTime)
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("(getdate())");

                entity.Property(e => e.IsDelete).HasDefaultValueSql("((0))");

                entity.Property(e => e.LoginDevice).HasMaxLength(50);

                entity.Property(e => e.LoginIp)
                    .HasMaxLength(50)
                    .IsUnicode(false);

                entity.Property(e => e.LoginLocation).HasMaxLength(50);

                entity.Property(e => e.LoginWay).HasDefaultValueSql("((0))");

                entity.Property(e => e.UpdateBy)
                    .HasMaxLength(50)
                    .IsUnicode(false);

                entity.Property(e => e.UpdateTime)
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("(getdate())");

                entity.Property(e => e.UserId).HasColumnName("UserID");

                entity.Property(e => e.UserPhone)
                    .HasMaxLength(50)
                    .IsUnicode(false);
            });

            modelBuilder.Entity<TblUserOperateLog>(entity =>
            {
                entity.HasKey(e => e.Pkid);

                entity.ToTable("tbl_UserOperateLog");

                entity.Property(e => e.Pkid).HasColumnName("PKID");

                entity.Property(e => e.Action).HasMaxLength(20);

                entity.Property(e => e.AfterLogText).HasMaxLength(1000);

                entity.Property(e => e.BeforeLogText).HasMaxLength(1000);

                entity.Property(e => e.Channel).HasMaxLength(20);

                entity.Property(e => e.CreateBy)
                    .HasMaxLength(50)
                    .IsUnicode(false);

                entity.Property(e => e.CreateTime)
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("(getdate())");

                entity.Property(e => e.DeviceId)
                    .HasColumnName("DeviceID")
                    .HasMaxLength(200);

                entity.Property(e => e.Ip)
                    .HasColumnName("IP")
                    .HasMaxLength(20);

                entity.Property(e => e.IpLocal).HasMaxLength(150);

                entity.Property(e => e.IsDelete).HasDefaultValueSql("((0))");

                entity.Property(e => e.UpdateBy)
                    .HasMaxLength(50)
                    .IsUnicode(false);

                entity.Property(e => e.UpdateTime)
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("(getdate())");

                entity.Property(e => e.UserAgent).HasMaxLength(200);

                entity.Property(e => e.UserId).HasColumnName("UserID");

                entity.Property(e => e.Version)
                    .HasMaxLength(50)
                    .IsUnicode(false);
            });
        }
    }
}
